1. Field of the Invention
The present invention relates to a single syndrome generator for both forward and reverse read of high density magnetic tape in an error correction system utilizing adaptive cross-parity (AXP) and, in particular, the present invention relates to the use of a single syndrome generator during the forward and reverse read of IBM 3480 high density 18-track, parallel, magnetic tape in the adaptive cross-parity (AXP) code error correction system.
2. Discussion of Prior Art
The IBM 3480 magnetic tape sub-system is a high density eighteen-parallel track tape sub-system which forms the basis of the proposed American National Standard Magnetic Tape and Cartridge for Information Interchange, Eighteen Track, Parallel, 12.65 MM (1/2 inch), 1491 CPMM (37 871 CPI) Group-Coded Recording prepared by the Technical Committee X3B5 of Accredited Standards Committee X3 and identified in the document Text X3B5/88-044 published by the American National Standards Institute.
The magnetic tape is read in both the forward and reverse directions. An example of the magnetic tape is shown in FIG. 1. In FIG. 1, two groups of tracks Set A and Set B are shown with each set having nine tracks. Tracks A8 and B8 are VRC (vertical redundancy code) tracks and tracks A0 and B0 are DRC (diagonal redundancy code) tracks. The tape shown in FIG. 1, in the forward direction, moves in the direction of arrow 100 and, in the reverse direction, moves in direction of arrow 110. Hence, in the forward direction 100, the first frame read is FC1 and the reading continues through frame FC6, in the example shown in FIG. 1. Each frame is eight bits (one byte) wide.
An adaptive cross-parity code for the high density tape of FIG. 1 has been incorporated into the American National Standard and is discussed in an article by Patel, "Adaptive Cross Parity (AXP) Code For A High-Density Magnetic Tape Sub-System", IBM Journal of Research and Development, Volume 29, No. 6, Pg. 546-562 (Nov. 1985) and is also discussed in U.S. Pat. No. 4,201,976. This adaptive cross parity code utilizes a diagonal code procedure represented by lines 120 and 130 in FIG. 1. The "A Diagonal" 120 check spans sixteen bits and starts from the B0 (DRC) position in Set B and terminates at the A0 (DRC) position. It does not extend into the VRC tracks of A8 and B8. The "B Diagonal" 130 (DRC) position in Set A and terminates at the B0 (DRC) position.
The adaptive cross-parity code also utilizes a vertical parity check as represented by line 140 and the code set forth in the VRC tracks A8 and B8. If a given track is in error such as track B4 as shown by line 150, then a particular bit which is in error 160 can be corrected according to the adaptive cross-parity code through use of the cross diagonals 120 and 130 and the vertical line 140 for Set B (which encompasses B0 through B8).
In FIG. 2, is shown a conventional approach for processing and correcting errors such as error 160 according to adaptive cross-parity code. As shown in FIG. 2, the reel to reel high density magnetic tape is conventionally read 200 from a reel to reel tape 190 and the nine bit data read is delivered over bus 202 to a nine to eight decode 204 which typically is a programmable read only memory (PROM). The nine to eight decode circuit 204 conventionally converts the nine bit data on the tape to the eight bit data required by the user system according to the ANSI standard as set forth above. The eight bit data is delivered over bus 206 to an error correction system 210 and to a delay FIFO 212. Delay FIFO 212 delays the data on bus 206 sufficiently long to allow the error correction system 210 to correct, if necessary, an error in a given data reading. The error correction system 210 is comprised of a forward syndrome generator 220, a reverse syndrome generator 230, a multiplexer 240, an error processor 250, and an error correction circuit 260. If the tape is being read in the forward direction, the forward syndrome generator 220 is activated by lead 222 and the forward syndrome generator 220 activates the vertical syndrome generator 224 and the diagonal syndrome generator 226 to deliver calculated check sums to the multiplexer 240 which delivers the forward diagonal syndrome generated information (A and B) for the "A Diagonal" and for the "B Diagonal" and the V information from the vertical syndrome generator to the error processor 250. Likewise, when the tape is read in the reverse direction, a signal is delivered over line 232 to the reverse syndrome generator 230 which contains a vertical syndrome generator 234 and a diagonal syndrome generator 236 for delivery of the calculated check sums to the multiplexer 240. In this fashion, the error processor receiving the diagonal code (A and B) information as well as the vertical code (V) information from either the forward syndrome generator 220 or the reverse syndrome generator 230 and receiving conventionally generated pointers P over line 252 is capable of generating the necessary information on line 254 for delivery to the error correction circuit 260 to correct the errors (for example error 160 in FIG. 1) in a conventional fashion. The corrected data is then delivered over lines 214 to a buffer circuit 270 for delivery over bus 272 into the user system. The use of pointers are fully discussed in U.S. Pat. No. 4,201,976.
The reason the prior art approach of FIG. 2 requires two separate syndrome generators 220 and 230 resides in the fact that as the tape is read and decoded, in reverse, the data bit fields placed on bus 206 are received in reverse order. In other words, the reverse syndrome generator 230 must operate in the opposite direction of the forward syndrome generator 220.
The present invention improves upon the prior art approach of FIG. 2 by utilizing only a single syndrome generator in the error correction system. This is accomplished by reversing the data bit order within each data byte before and after the error correction process, if the direction of the tape is reverse.